#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int triangle(int a,int b,int c)
{
	if (a + b > c && a + c > b && b + c > a)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}
int main()
{
	double a, b, c, C,square,p;
	scanf("%lf %lf %lf %lf", &a, &b, &c, &C);
	if (C == 0)
	{
		double p = (a + b + c) / 2;
		int is = triangle(a, b, c);
		if (is)
		{
			double m = p * (p - a)*(p - c)*(p - b);
			square = sqrt(m);
			printf("%.4f", square);
		}
		else
		{
			printf("No solution");
		}
	}
	else
	{
		double x1, x2;
		if (a == 0)
		{
			x1 = b;
			x2 = c;
		}
		if (b == 0)
		{
			x1 = a;
			x2 = c;
		}
		if (c == 0)
		{
			x1 = b;
			x2 = a;
		}
		double pi = 3.14159265;
		square = (x1 * x2 * sin(pi*C / 180)) / 2;
		printf("%.4f", square);
	}
	return 0;
}